package com.cx.zyx.modulebiz.news.model;
import java.util.Date;

/**
 * 表示一篇新闻文章的实体类，包含文章的基本信息和所属栏目。
 */
public class Article {
    /**
     * 文章的唯一标识符
     */
    private String articleId;

    /**
     * 文章的标题
     */
    private String title;

    /**
     * 文章的作者
     */
    private String author;

    /**
     * 文章的内容正文
     */
    private String content;

    /**
     * 文章的发布时间
     */
    private Date publishTime;

    /**
     * 文章所属的栏目，关联到 ArticleCategory 类
     */
    private ArticleCategory category;

    /**
     * 构造函数，用于创建一个新闻文章对象
     *
     * @param articleId   文章的唯一标识符
     * @param title       文章的标题
     * @param author      文章的作者
     * @param content     文章的内容正文
     * @param publishTime 文章的发布时间
     * @param category    文章所属的栏目
     */
    public Article(String articleId, String title, String author, String content, Date publishTime, ArticleCategory category) {
        this.articleId = articleId;
        this.title = title;
        this.author = author;
        this.content = content;
        this.publishTime = publishTime;
        this.category = category;
    }

    /**
     * 获取文章的唯一标识符
     *
     * @return 文章ID
     */
    public String getArticleId() {
        return articleId;
    }

    /**
     * 设置文章的唯一标识符
     *
     * @param articleId 新的文章ID
     */
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }

    /**
     * 获取文章的标题
     *
     * @return 文章标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置文章的标题
     *
     * @param title 新的文章标题
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取文章的作者
     *
     * @return 作者名
     */
    public String getAuthor() {
        return author;
    }

    /**
     * 设置文章的作者
     *
     * @param author 新的作者名
     */
    public void setAuthor(String author) {
        this.author = author;
    }

    /**
     * 获取文章的内容正文
     *
     * @return 文章内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置文章的内容正文
     *
     * @param content 新的文章内容
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * 获取文章的发布时间
     *
     * @return 发布时间
     */
    public Date getPublishTime() {
        return publishTime;
    }

    /**
     * 设置文章的发布时间
     *
     * @param publishTime 新的发布时间
     */
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    /**
     * 获取文章所属的栏目
     *
     * @return 栏目对象
     */
    public ArticleCategory getCategory() {
        return category;
    }

    /**
     * 设置文章所属的栏目
     *
     * @param category 新的栏目对象
     */
    public void setCategory(ArticleCategory category) {
        this.category = category;
    }
}
